home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 2148 / SimpleCalc.lha / simplecalc4.c next >
Encoding:
C/C++ Source or Header  |  1995-12-22  |  1.5 KB  |  91 lines

  1. #include <stdio.h>
  2.  
  3. char selection(char lower, char upper);
  4. float percentage(float x, float y);
  5.  
  6. /* simple calculator */
  7. void main()
  8. {
  9.    char reply;
  10.    float A, B, result;
  11.  
  12.    printf("Welcome to the calculator\n");
  13.  
  14.    do
  15.    {
  16.       printf("Enter number A ");
  17.       scanf("%f", &A);
  18.  
  19.       printf("Enter number B ");
  20.       scanf("%f", &B);
  21.  
  22.       printf("Which option do you require?\n");
  23.  
  24.       printf("a-addition\nb-subtraction\nc-multiplication\nd-division\ne-percentage\n");
  25.       
  26.       reply=selection('a','e');
  27.  
  28.       switch (reply)
  29.       {
  30.       case 'a':
  31.          result = A + B;
  32.          break;
  33.       case 'b':
  34.          result = A - B;
  35.          break;
  36.       case 'c':
  37.          result = A * B;
  38.          break;
  39.       case 'd':
  40.          if (B==0)
  41.          {
  42.             printf("Division by zero not allowed\n");
  43.             break;
  44.          }
  45.          result = A / B;
  46.          break;
  47.       case 'e':
  48.          result = percentage(A,B);
  49.          break;
  50.       default:
  51.          break;
  52.       }
  53.       printf("\nThe result is %f\n", result);
  54.  
  55.       printf("More Maths?\na-yes\nb-no, quit\n");
  56.  
  57.    }while (selection('a', 'b')=='a');
  58.  
  59. }
  60.  
  61. /* define menu function */
  62. char selection(char lower, char upper)
  63. {
  64.    char input;
  65.  
  66.    do
  67.    {
  68.       scanf("%1s",&input);
  69.  
  70.       if (input>='A' && input<='Z')
  71.       {
  72.          input=input+32;
  73.       }
  74.  
  75.    }while (input<lower || input>upper);
  76.  
  77.    return input;
  78. }
  79.  
  80. /* define percentage function */
  81. float percentage(float x, float y)
  82. {
  83.    float result;
  84.  
  85.    result=(x/100.0)*y;
  86.  
  87.    return result;
  88. }
  89.  
  90.  
  91.